package com.ctshk.rpc.order.air.dto.app;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalTime;

/**
 * @BelongsProject: ctshk-cloud
 * @BelongsPackage: com.ctshk.rpc.order.air.dto.app
 * @Author: hef
 * @CreateTime: 2021-05-21 16:39
 * @Description: 描述
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public class OrderProductDTO implements Serializable {

    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "乘坐时间")
    private LocalDate date;

    @ApiModelProperty(value = "航班信息id")
    private Long id;

    @ApiModelProperty(value = "机票产品id")
    private Long productId;

    @ApiModelProperty(value = "航班id", required = true)
    private Long flightId;

    @ApiModelProperty(value = "航空公司Id", required = true)
    private Long companyId;

    @ApiModelProperty(value = "航空公司名称", required = true)
    private String companyName;

    @ApiModelProperty(value = "第几程", required = true)
    private Integer rank;

    @ApiModelProperty(value = "航班号", required = true)
    private String flightNumber;

    @ApiModelProperty(value = "船舱等级")
    private Long cabinClass;

    @ApiModelProperty(value = "船舱等级名称")
    private String cabinName;

    @JsonFormat(pattern = "HH:mm")
    @ApiModelProperty(value = "出发时间", required = true)
    private LocalTime depTime;

    @ApiModelProperty(value = "出发地名称", required = true)
    private String depCityName;

    @ApiModelProperty(value = "到达地名称", required = true)
    private String arrCityName;

    @ApiModelProperty(value = "起飞机场", required = true)
    private String depAirportName;

    @ApiModelProperty(value = "到达机场", required = true)
    private String arrAirportName;

    @JsonFormat(pattern = "HH:mm")
    @ApiModelProperty(value = "到达时间", required = true)
    private LocalTime arrTime;

    @ApiModelProperty(value = "耗时", required = true)
    private String timeConsuming;

    @ApiModelProperty(value = "预订须知")
    private String bookingInformation;

    @ApiModelProperty(value = "行李规定")
    private String baggageStates;
}
